package com.berchen.test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 内部类
 * lambda表达式
 */
public class InCalssDemo {

    public static void main(String[] args) {

        List<Integer> list= Arrays.asList(1,2,3,4,5,6,7);
        List<Integer> list1=new ArrayList<>();
        // 内部类要使用方法内部的局部变量 必须是有效final的(可以不写final 但是只能赋值一次。)
        final int a=10;
        list.stream().forEach(x->{

            list1.add(x);   // list1上面已经new了一次 所以这里是可以了
        });

        int b=10;
        new InCladd(){
            @Override
            public void test() {

//                a=10;   // 这里赋值就会报错
                System.out.println(a);// 这里输出就不会报错。
                System.out.println(b);
            }
        };


    }

}
@FunctionalInterface
interface InCladd{
    public void test();
}
